{ "cells": [ { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "# Estimate time series parameters using pseudo batch transformed data\n", "This tutorial will walk through how to estimate a series for the rates and yields from a fed-batch fermentation. This can be useful to detect changes in the phenotype during the fed-batch process. We will work with simulated data, thus the true parameters will be known." ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "## Initialise session and loading data" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "/Users/s143838/.virtualenvs/pseudobatch-dev/lib/python3.10/site-packages/tqdm/auto.py:21: TqdmWarning: IProgress not found. Please update jupyter and ipywidgets. See https://ipywidgets.readthedocs.io/en/stable/user_install.html\n", " from .autonotebook import tqdm as notebook_tqdm\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "{'stan_version_major': '2', 'stan_version_minor': '29', 'stan_version_patch': '2', 'STAN_THREADS': 'false', 'STAN_MPI': 'false', 'STAN_OPENCL': 'false', 'STAN_NO_RANGE_CHECKS': 'false', 'STAN_CPP_OPTIMS': 'false'}\n" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.patches as mpatches\n", "import pandas as pd\n", "import seaborn as sns\n", "import numpy as np\n", "import os\n", "\n", "from pseudobatch import pseudobatch_transform_pandas, convert_volumetric_rates_from_pseudo_to_real\n", "from pseudobatch.datasets import load_product_inhibited_fedbatch" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "fedbatch_df_measurement = load_product_inhibited_fedbatch(sampling_points_only=True)\n", "\n", "# for visualization purposes we will also load the full dataset\n", "fedbatch_df = load_product_inhibited_fedbatch(sampling_points_only=False)" ] }, { "attachments": {}, "cell_type": "markdown", "metadata": {}, "source": [ "First, let's quickly inspect the dataframe" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", " | timestamp | \n", "sample_volume | \n", "c_Biomass | \n", "c_Glucose | \n", "c_Product | \n", "v_Volume | \n", "v_Feed_accum | \n", "
---|---|---|---|---|---|---|---|
0 | \n", "10.000000 | \n", "100.0 | \n", "1.315046 | \n", "0.117208 | \n", "0.676000 | \n", "1015.906036 | \n", "15.906036 | \n", "
1 | \n", "14.545455 | \n", "100.0 | \n", "2.026109 | \n", "0.171224 | \n", "1.265827 | \n", "928.960902 | \n", "28.960902 | \n", "
2 | \n", "19.090909 | \n", "100.0 | \n", "3.083525 | \n", "0.296168 | \n", "2.143140 | \n", "847.314262 | \n", "47.314262 | \n", "
3 | \n", "23.636364 | \n", "100.0 | \n", "4.568350 | \n", "0.651151 | \n", "3.375809 | \n", "772.816654 | \n", "72.816654 | \n", "
4 | \n", "28.181818 | \n", "100.0 | \n", "6.410392 | \n", "1.735493 | \n", "4.907704 | \n", "707.795685 | \n", "107.795685 | \n", "